<?php


namespace app\manage\controller;

use app\manage\model\Token;
use think\Validate;
class Goods
{

    public function __construct()
    {
        $this->token=new Token();
        $this->goods=new \app\manage\model\Goods();
    }

    /**
     * 分类列表
     */
    public function categoryList(){
        $param=input();
        $page=empty($param['current_page']) ? 1 : $param['current_page'];
        $page_size=empty($param['page_num']) ? 10: $param['page_num'];

        $returnData=$this->goods->categoryList($page,$page_size);

        returnJson(200,'success',$returnData);
    }

    /**
     * 分类添加-提交
     */
    public function categorySubmit(){
        $param=input();
        $validate = new Validate([
            ['gc_name', 'require|max:50', '分类名称不能为空|分类名称长度不能超过50'],
        ]);
        if(!$validate->check($param))
        {
            returnJson(-2003,$validate->getError());
        }

        $data['gc_name']=$param['gc_name'];
        $data['create_time']=time();
        $data['is_type']=2;
        $data['member_id']=0;

        $this->goods->categoryAdd($data);
        returnJson(200,'操作成功');
    }

    /**
     * 分类删除
     */
    public function categoryDel(){
        $gc_id=input('gc_id');

        $this->goods->categoryDel($gc_id);
        returnJson(200,'操作成功');
    }

    /**
     * 获取所有商品分类
     */
    public function getCateList(){
        $returnData=$this->goods->getCateList();
        returnJson(200,'success',$returnData);
    }

    /**
     * 干货分享添加--提交   --------------需要加 视频类型 热门=返利  精选=裂变，还需要加金银铜。。。---------
     */
    public function goodsSubmit(){
        $param=input();
        $validate = new Validate([
            ['g_name', 'require|max:50', '商品名称不能为空|商品名称长度不能超过50'],
            ['gc_id', 'require', '商品分类不能为空'],
            ['spec_name', 'require', '规格名称不能为空'],
            ['spec_num', 'require', '规格库存不能为空'],
            ['cost_price', 'require', '商品原价不能为空'],
            ['price', 'require', '商品单价不能为空'],
            ['coin_price', 'require', '金币不能为空'],
            ['cover_pic', 'require', '视频封面图不能为空'],
            ['video_path', 'require', '视频不能为空'],
            ['intro', 'require', '商品描述不能为空'],
            ['img_list', 'require', '商品详情不能为空'],
            ['free_time', 'require', '免费观看时间不能为空'],
        ]);
        if(!$validate->check($param))
        {
            returnJson(-2003,$validate->getError());
        }

        $this->goods->goodsAdd($param);

        returnJson(200,'操作成功');
    }

    /**
     * 干货分享列表  type 1=上架  2=下架
     */
    public function goodsList(){
        $param=input();
        $page=empty($param['current_page']) ? 1 : $param['current_page'];
        $page_size=empty($param['page_num']) ? 10: $param['page_num'];
        $type=empty($param['type']) ? 1: $param['type'];

        $returnData=$this->goods->goodsList($param,$page,$page_size,$type);

        returnJson(200,'success',$returnData);
    }

    /**
     * 干货分享 ----type 2=下架 1=上架
     */
    public function downOperate(){
        $param=input();

        $this->goods->dismount($param['type'],$param['goods_id']);

        returnJson(200,'操作成功');
    }
    /**
     * 干货分享 ----删除
     */
    public function goodsDel(){
        $goods_id=input('goods_id');

        $this->goods->goodsDel($goods_id,1);

        returnJson(200,'操作成功');
    }

    /**
     * 干货分享 ----批量删除
     */
    public function goodsDelAll(){
        $goods_ids=input('goods_ids');

        $this->goods->goodsDel($goods_ids,2);

        returnJson(200,'操作成功');
    }
    /**
     * 干货分享 ----编辑页面
     */
    public function goodsEdit(){
        $goods_id=input('goods_id');

        $returnData=$this->goods->goodsDetail($goods_id);

        returnJson(200,'success',$returnData);
    }

    /**
     * 干货分享 ----编辑提交
     */
    public function goodsEditSubmit(){
        $param=input();
        $validate = new Validate([
            ['g_name', 'require|max:50', '商品名称不能为空|商品名称长度不能超过50'],
            ['gc_id', 'require', '商品分类不能为空'],
            ['spec_name', 'require', '规格名称不能为空'],
            ['spec_num', 'require', '规格库存不能为空'],
            ['cost_price', 'require', '商品原价不能为空'],
            ['price', 'require', '商品单价不能为空'],
            ['coin_price', 'require', '金币不能为空'],
            ['cover_pic', 'require', '视频封面图不能为空'],
            ['video_path', 'require', '视频不能为空'],
            ['intro', 'require', '商品描述不能为空'],
            ['goods_id', 'require', '商品id不能为空'],
            ['img_list', 'require', '商品详情不能为空'],
            ['free_time', 'require', '免费观看时间不能为空'],
        ]);
        if(!$validate->check($param))
        {
            returnJson(-2003,$validate->getError());
        }

        $this->goods->goodsAdd($param);

        returnJson(200,'操作成功');
    }


}